package com.shenghui.enterprise.enterprise.admin.controller;

import com.shenghui.enterprise.base.entity.PageModel;
import com.shenghui.enterprise.enterprise.entity.EntEnterpriseInfo;
import com.shenghui.enterprise.enterprise.service.IEntEnterpriseInfoService;
import com.shenghui.enterprise.utils.GeneralUtil;
import com.shenghui.enterprise.vo.Result;
import io.swagger.annotations.Api;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;

import java.util.Map;

/**
 * @Description: 企业基础信息表 前端控制器
 * @Author tt
 * @Email: happyxiaohou@gmail.com
 * @Date: 2020-10-08
 * @Copyright (c) 2020-2022 云南昇晖科技有限公司
 */
@RestController
@RequestMapping("/admin/entEnterpriseInfo" )
@Api(value = "企业基础信息表接口",description = "用作企业基础信息表演示")
public class EntEnterpriseInfoController {

    @Autowired
    private IEntEnterpriseInfoService entEnterpriseInfoService;

    @RequestMapping("/add")
    public Result add(EntEnterpriseInfo entEnterpriseInfo){
        if(GeneralUtil.isNull(entEnterpriseInfo)){
            return Result.error("参数信息不能为空");
        }
        if(GeneralUtil.isNull(entEnterpriseInfo.getEntName())){
            return Result.error("企业名称不能为空");
        }
        if(GeneralUtil.isNull(entEnterpriseInfo.getEntCode())){
            return Result.error("统一社会信用代码不能为空");
        }
        if(GeneralUtil.isNull(entEnterpriseInfo.getEntAddress())){
            return Result.error("企业地址不能为空");
        }
        if(GeneralUtil.isNull(entEnterpriseInfo.getContactPerson())){
            return Result.error("联系人不能为空");
        }
        if(GeneralUtil.isNull(entEnterpriseInfo.getContactPhone())){
            return Result.error("联系电话不能为空");
        }
        if(GeneralUtil.isNull(entEnterpriseInfo.getEmail())){
            return Result.error("电子邮件不能为空");
        }
        if(GeneralUtil.isNull(entEnterpriseInfo.getLegalPerson())){
            return Result.error("法定代表人(负责人)不能为空");
        }
        if(GeneralUtil.isNull(entEnterpriseInfo.getManager())){
            return Result.error("企业总经理姓名不能为空");
        }
        if(GeneralUtil.isNull(entEnterpriseInfo.getIndustryCategory())){
            return Result.error("主营行业类别不能为空");
        }
        if(GeneralUtil.isNull(entEnterpriseInfo.getIndustryCode())){
            return Result.error("代码不能为空");
        }
        if(GeneralUtil.isNull(entEnterpriseInfo.getRegisterCategory())){
            return Result.error("注册登记类型不能为空");
        }
        if(GeneralUtil.isNull(entEnterpriseInfo.getHolding())){
            return Result.error("控股情况不能为空");
        }
        if(GeneralUtil.isNull(entEnterpriseInfo.getHighTechEnterprises())){
            return Result.error("是否高新企业不能为空");
        }
        if(GeneralUtil.isNull(entEnterpriseInfo.getAboveEnterprises())){
            return Result.error("是否规模以上企业不能为空");
        }
        return entEnterpriseInfoService.addOrUpdate(entEnterpriseInfo);
    }

    /**
     * 分页查询企业列表信息
     */
    @RequestMapping("/findList")
    public Object findList(@RequestParam Map map) {
        try {
            return entEnterpriseInfoService.findList(map);
        } catch (Exception e) {
            e.printStackTrace();
            return new PageModel(0, null);
        }
    }

    /**
     * 根据ID获取企业信息
     * @param id
     * @return
     */
    @RequestMapping("/getById")
    public Object getById(String id){
        EntEnterpriseInfo entEnterprise = entEnterpriseInfoService.getById(id);
        if(GeneralUtil.isNotNull(entEnterprise)){
            return Result.ok("查询成功",entEnterprise);
        } else {
            return Result.error("未查询到数据");
        }
    }

    /**
     * 删除企业信息
     * @param ids
     * @return
     */
    @RequestMapping("/deleteById")
    public Object deleteById(String ids){
        boolean flag = entEnterpriseInfoService.removeById(ids);
        if(flag){
            return Result.ok("删除成功!");
        } else {
            return Result.error("删除失败，请重试!");
        }
    }
}
